[알림]
  • 2025년 3분기 1급 관리자에 대한 투표를 진행 중입니다.
  • Central 스킨에 대한 피드백이 진행 중입니다.
  • r11 vs r12
    1 1
    [[분류:imitated seed 2]]
    2 2
    [include(틀:상위 문서, 문서=New seed)]
    3
    4 4
    [목차]
    5 5
    == 개요 ==
    6 6
    분명 New seed 개발하기 시작했는데 아무도 관심이 없고 아무도 모르고 아무도 안 쓰고 심지어 공식 문서조차 없어서 그냥 귀찮아 개발노트랑 업데이트 일지나 대충 끄적이려고 만든 문서 중 하나
    ... ...
    58 58
    || 근데 일단 써보십쇼 정상 작동은 안 합니다 ㅇㅇ ||
    59 59
    60 60
    == 개발일지 ==
    61
    === 문법 신창섭화 ===
    62
    ==== 동영상 매크로 ====
    63
    {{{#!syntax javascript
    64
    // 동화상
    65
    for(let finc of (data.match(/\[(youtube|kakaotv|nicovideo|vimeo|navertv)[(](((?![)])(.|<spannw>[)]<\/spannw>))+)[)]\]/gi) || [])) {
    66
    let inc = finc.match(/\[(youtube|kakaotv|nicovideo|vimeo|navertv)[(](((?!([)]))(.|<spannw>[)]<\/spannw>))+)[)]\]/i);
    67
    let vid = inc[1].replace(/<spannw>[)]<\/spannw>/, ')');
    68
    let id = inc[2].replace(/<spannw>[)]<\/spannw>/, ')').split(',')[0].replace(/^(\s+)/, '').replace(/(\s+)$/, '').replace(/[&]quot;/g, '"').replace(/[&]amp;/g, '&').replace(/[&]lt;/g, '<').replace(/[&]gt;/g, '>');
    69
    let paramsa = inc[2].replace(/<spannw>[)]<\/spannw>/, ')').split(',').slice(1, 99999);
    70
    let params = {};
    71
    for(let item of paramsa) {
    72
    let pp = item.split('=')[0].replace(/^(\s+)/, '').replace(/(\s+)$/, '').toLowerCase();
    73
    params[pp] = item.replace(pp + '=', '').replace(/^(\s+)/, '').replace(/(\s+)$/, '');
    74
    }
    75
    let d;
    76
    switch(vid.toLowerCase()) {
    77
    case 'youtube': {
    78
    d = `<iframe allowfullscreen src="//www.youtube.com/embed/${encodeURIComponent(id)}${params.start ? `?start=${encodeURIComponent(params.start)}` : ''}${params.end ? ((params.start ? '&' : '?') + 'end=' + encodeURIComponent(params.end)) : ''}" loading=lazy width="${params.width || 640}" height="${params.height || 360}" frameborder=0></iframe>`;
    79
    }
    80
    break; case 'kakaotv': {
    81
    d = `<iframe allowfullscreen src="//tv.kakao.com/embed/player/cliplink/${encodeURIComponent(id)}" loading=lazy width="${params.width || 640}" height="${params.height || 360}" frameborder=0></iframe>`;
    82
    }
    83
    break; case 'nicovideo': {
    84
    d = `<iframe allowfullscreen src="//embed.nicovideo.jp/watch/sm${encodeURIComponent(id)}" loading=lazy width="${params.width || 720}" height="${params.height || 480}" frameborder=0></iframe>`;
    85
    }
    86
    break; case 'vimeo': {
    87
    d = `<iframe allowfullscreen src="//player.vimeo.com/video/${encodeURIComponent(id)}" loading=lazy width="${params.width || 640}" height="${params.height || 360}" frameborder=0></iframe>`;
    88
    }
    89
    break; case 'navertv': {
    90
    d = `<iframe allowfullscreen src="//tv.naver.com/embed/${encodeURIComponent(id)}" loading=lazy width="${params.width || 640}" height="${params.height || 360}" frameborder=0></iframe>`;
    91
    }
    92
    }
    93
    94
    data = data.replace(finc, d);
    95
    }
    96
    }}}
    97
    98
    여기서 nicovideo.jp를 정상화해야한다
    99
    100
    아주 간단하게 sm(id 8자리)와 (id 8자리) 둘 다 작동하게 수정해보자
    101
    102
    {{{#syntax javascript
    103
    break; case 'nicovideo': {
    104
    id = id.startsWith('sm') ? id : `sm${id}`;
    105
    d = `<iframe allowfullscreen src="//embed.nicovideo.jp/watch/${encodeURIComponent(id)}" loading=lazy width="${params.width || 720}" height="${params.height || 480}" frameborder=0></iframe>`;
    106
    }
    107
    }}}
    108
    109
    이렇게 정상화하면 잘 작동할 것이다
    110
    111 111
    === 나무야 살려줘 ===
    112 112
    {{{#!syntax markdown
    113 113
    {{{#!if namu != undefined
    ... ...